package com.platform.system.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.platform.common.bean.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;

/**
 * describe:系统配置明细表
 *
 * @author rainly
 * @date 2019/12/06
 * @time 2:47 下午
 */
@ApiModel(value = "系统配置明细表", description = "系统配置明细表SysConfigDetail")
@Data
@TableName(value = "sys_config_detail")
public class SysConfigDetail extends BaseEntity<SysConfigDetail> {

    @ApiModelProperty(value = "系统配置明细id", name = "config_detail_id", example = "32位uuid", required = true)
    @Id
    @Column(name = "config_detail_id", length = 32, columnDefinition = "varchar(32) COMMENT '主键'")
    @TableId(type = IdType.ASSIGN_ID)
    private String configDetailId;

    @ApiModelProperty(value = "编码", name = "detail_code", example = "编码", required = true)
    @Column(name = "detail_code", length = 10, columnDefinition = "varchar(10) COMMENT '编码'")
    private String detailCode;

    @ApiModelProperty(value = "配置组名称", name = "detail_name", example = "配置名称", required = true)
    @Column(name = "detail_name", length = 50, columnDefinition = "varchar(50) COMMENT '配置组名称'")
    private String detailName;

    @ApiModelProperty(value = "配置数据", name = "detail_value", example = "配置数据", required = true)
    @Column(name = "detail_value", length = 50, columnDefinition = "varchar(50) COMMENT '配置数据'")
    private String detailValue;

    @ApiModelProperty(value = "配置组id", name = "group_id", example = "配置组id", required = true)
    @Column(name = "group_id", length = 32, columnDefinition = "varchar(32) COMMENT '配置组id'")
    private String groupId;

    @ApiModelProperty(value = "父id", name = "parent_id", example = "父id", required = true)
    @Column(name = "parent_id", length = 32, columnDefinition = "varchar(32) COMMENT '父id'")
    private String parentId;

    @ApiModelProperty(value = "父id集合", name = "parent_ids", example = "父id集合", required = true)
    @Column(name = "parent_ids", length = 200, columnDefinition = "varchar(200) COMMENT '父id集合'")
    private String parentIds;

    @ApiModelProperty(value = "是否为系统配置 0否 1是，系统配置为不可修改", name = "is_sys", example = "是否为系统配置 0否 1是，系统配置为不可修改", required = true)
    @Column(name = "is_sys", length = 1, columnDefinition = "varchar(10) COMMENT '是否为系统配置 0否 1是，系统配置为不可修改'")
    private String isSys;

    @ApiModelProperty(value = "描述", name = "info", example = "描述", required = true)
    @Column(name = "info", length = 100, columnDefinition = "varchar(100) COMMENT '描述'")
    private String info;

    @ApiModelProperty(value = "标记", name = "flag", example = "标记(diabale 删除 unable 正常)", required = true)
    @Column(name = "flag", length = 20, columnDefinition = "varchar(20) COMMENT '标记(diabale 删除 unable 正常)'")
    @TableField(fill = FieldFill.INSERT)
    private String flag;
}
